googologywikiaorg-20200223-history
User blog:Rgetar/Ordinals array function
I interested in ordinals, and I asked myself: "Why we use \(\omega\), \(\omega2\), \(\omega^2\), \(\omega^\omega\), \(\epsilon_0\), \(\zeta_0\), \(\phi(3,0)\), \(\Gamma_0\) etc. instead of \(\omega\uparrow\uparrow\uparrow\omega\), \(\omega\uparrow\uparrow\uparrow\uparrow\omega\) etc.?" But I realized this doesn't work beyond \(\epsilon_0\) since \(\omega\uparrow\uparrow(\omega+1) = \omega^{\omega\uparrow\uparrow\omega} = \omega^{\epsilon_0} = \epsilon_0 = \omega\uparrow\uparrow\omega\). I experimented and created a BEAF-like system, suitable also for ordinals. It is family of functions Xa of ordinal a. Sequence X and its separators Let X - sequence of ordinals (or "negative ordinals", i.e. ordinals with "-" sign before them) with separators. All zeros we may omit. All left part only with zeros and any separators we also may omit. A separator may be written two ways: set of (...) or <...>. Type and body of separators A separator has body and type, which are also sequences of ordinals. For example, <\(X_{type}\)|\(X_{body}\)>. If \(X_{type} = 0\), separator may be written only with body: <|\(X_{body}\)> = <\(X_{body}\)>. (For now, we'll consider only zero types). (X) separators (X) is as in BEAF: (1) moves through one row, (2) - through one plane, (3) - through one 3D space etc. (0) should move through one element. separators Easier way to write separators is to use : first right element is number of (0)'s, second right is number of (1)'s, third right is number of (2)'s etc. In particular, <1> = (X) > = n (X)'s <1> = (0) may be written as comma (,): <1> = , = () = (0) Examples: <5> = ,,,,, = ,0,0,0,0,0 = ()()()()() = (0)(0)(0)(0)(0) <1,2,3,4,5> = (0)(0)(0)(0)(0)(1)(1)(1)(1)(2)(2)(2)(3)(3)(4) <1,> = <1,0> = <1<1>> = (1) <1,2> = ()()(1) = (0)(0)(1) = ,,(1) = ,0,0(1) <2,> = <2,0> = (1)(1) <1,,> = <1,0,0> = <1<2>> = (2) <1,,,> = <1,0,0,0> = <1<3>> = (3) <2,,3,> = <2,0,3,0> = (1)(1)(1)(3)(3) <3<1,>> = <3<1,0>> = <3<1<1>>> = <3(1)> = (1,)(1,)(1,) = (1,0)(1,0)(1,0) Empty separator <0> <> = <0> is empty separator, it doesn't add anything: X<> = X<0> = X For example, 1,2,3<> = 1,2,3 <0> can only be located at the end of X. If it is located between elements of X, it doesn't separate anything, and these two elements actually should be one. Maybe, a<0>b = a + b (But this is not used). addition Adjacent separators may be added: <1><1> = <2> <1><1,0> = <1,1> <1,0><1,0> = <2,0> etc. Eraser <-1> <-1> erases one element: X,n<-1> = X For example, 1,2,3<-1> = 1,2 (Also, <-n> should erase n elements, <-n,0> should erase n rows, <-n,0,0> - n planes, but this is not used). Last element decreaser X-1 X-1 is X with last element decreased by 1. For example, X = 1,2,3,4,5 X-1 = 1,2,3,4,4 X = 1,2,3,4,0 X-1 = 1,2,3,4,-1 X = 0 X-1 = -1 X* representation of X is a separator at the right end of X. X* is rest of X. So, X = X* For example, X = 1,2,3 = 1,2,3<> X* = 1,2,3 X' = 0 X = 1(2)2(1)3,0,0,0,0,0 = 1<1<2>>2<1<1>>3<5> = 1<1,,>2<1,>3<5> X* = 1(2)2(1)3 = 1<1<2>>2<1<1>>3 = 1<1,,>2<1,>3 X' = 5 X = 1(1)1 = 1<1,0>1<0> = 1<1,>1<> X* = 1<1,>1 X' = 0 X* and X' are also may be represented in this form: X* = X** X' = X'* Always should be X* = X** = X**<0> = X** X*' = 0 Hence if X = 0 then X* = 0 X' = 0 Any X may be uniquely represented in this form X = X*. Identity function -1a -1 doesn't change anything: -1a = a Last element nullifier X⁰ X⁰ is X with last element set to zero, if X' = 0 else X⁰ = -1. For example, X = 1,2,3,4,5 X⁰ = 1,2,3,4,0 X = 1,2,3,4,0 X⁰ = -1 X = 0 X⁰ = 0 So, if last element of X is not zero, X⁰ sets it to zero, and if it is zero, X⁰ = -1 except X = 0 when X⁰ also sets it to zero. (X; a; b) designation (X; a; b) = a , if X' ≠ 0 (X; a; b) = b , if X' = 0 X·a function X·a is a function mapping X to other "X", depending on ordinal a. For X = 0 0·a = -1 (in this case X·a doesn't depend on a) For non-zero X see Rules. Rules If non-zero type separators not used, rules: 1. []а = a + 1 2. Xa = X⁰X·aa 3. X·a = X*-1<1>(X'; 1; a) And, I think, rule for limit ordinals, possibly, may be: if last ordinal in X (including ordinals inside separators) is a limit ordinal \(\alpha\), Xa is limit of \(X_i\)a where \(X_i\) are X with \(\alpha\) replaced by \(\alpha_i\) which limit is \(\alpha\). Also, it is well to remember that X = X* X* = X** X*' = 0 , that is X* = X** X' = X'* X-1 decreases by 1 last element of X X⁰ sets to zero last element of X , if X' = 0 X⁰ = -1 , if X' ≠ 0 (X; a; b) = a , if X' ≠ 0 (X; a; b) = b , if X' = 0 -1a = a 0·a = -1 <-1> erases previous element Consequence: if X' = 0 then X·a = X-1 (in this case X·a doesn't depend on a, same way as for X = 0) One element Special case of rules for X consisted of single element b: 0а = a + 1 ba = 0b-1a or 0а = a + 1 ba = 0\(^{1+b}\)a or ba = a + 1 + b Limit ordinals ωa is a limit of 0a, 1a, 2a... ω+1a = 0ωa ω+2a = 0ω+1a ω2a is a limit of ωa, ω+1a, ω+2a... ω2a is a limit of ωa, ω2a, ω3a... One-dimensional array Special case of rules for one-dimensional array of elements of X = X*: []а = a + 1 Xa = X⁰X·aa X·a = X*-1,a or []а = a + 1 Xa = X⁰X-1a , b=0 Xa = X*-1,aa , b>0 In particular, X,ba = X,\(^{1+b}\)a b+1,a = b,aa = b,\(^{1+a}\)a (this resembles FGH, but with 1+a instead of a) Ordinal subtraction Ordinal subtraction is operation, opposite to ordinal addition. Since ordinal addition is non-commutative, there are two ordinal subtractions (as for exponentiation, which is also non-commutative and also has two opposite operations: root and logarithm): (a - b) + b = a b + (a - b) = a We'll use the second one. a-1 is as for natural numbers, if a is a finite ordinal, and a-1 = a , if a is a countable ordinal. Examples: 5 - 1 = 4 but (ω + 5) - 1 = ω + 5 (not ω + 4 since 1 + ω + 4 = ω + 4 but 1 + ω + 5 = ω + 5). Two elements 1,0a = aa = a + 1 + a 1,1a = 1,01,0a = a + 1 + a + 1 + a + 1 + a 1,2a = 1,01,1a = a + 1 + a + 1 + a + 1 + a + 1 + a + 1 + a + 1 + a + 1 + a 1,ba = (1 + a)*2\(^{1+b}\) - 1 for finite or countable a 1,ba = a*2\(^{1+b}\) for countable a 1,ba = a*2\(^b\) for countable a and b 2,0a = 1,aa = (1 + a)*2\(^{1+a}\) - 1 for finite or countable a 2,0a = a*2\(^a\) for countable a 2,1a = 2,02,0a 2,2a = 2,02,1a = 2,02,02,0a 2,3a = 2,02,2a = 2,02,02,02,0a 3,0a = 2,aa 3,1a = 3,03,0a 3,2a = 3,03,1a = 3,03,03,0a 4,0a = 3,aa 5,0a = 4,aa etc. Three elements 1,0,0a = 1<2>a = a,0a = a<1>a 1,0,1a = 1,0,01,0,0a 1,0,2a = 1,0,01,0,1a = 1,0,01,0,01,0,0a 1,0,3a = 1,0,01,0,2a = 1,0,01,0,01,0,01,0,0a 1,1,0a = 1,0,aa 1,1,1a = 1,1,01,1,0a 1,1,2a = 1,1,01,1,1a = 1,1,01,1,01,1,0a 1,2,0a = 1,1,aa 1,3,0a = 1,2,aa 2,0,0a = 1,a,0a 3,0,0a = 2,a,0a etc. Four elements 1,0,0,0a = 1<3>a = a,0,0a = a<2>a 1,0,0,1a = 1,0,0,01,0,0,0a 1,0,1,0a = 1,0,0,aa 1,1,0,0a = 1,0,a,0a 2,0,0,0a = 1,a,0,0a etc. Five and more elements 1,0,0,0,0a = 1<4>a = a,0,0,0a = a<3>a 1<5>a = a<4>a 1<6>a = a<5>a 1<7>a = a<6>a etc. Limit ordinals 1,ωa is a limit of 1,0a, 1,1a, 1,2a... 2,ω,0a is a limit of 2,0,0a, 2,1,0a, 2,2,0a... ω,ω,0,0a is a limit of ω,0,0,0a, ω,1,0,0a, ω,2,0,0a... ω<ω>a is a limit of ω<0>a, ω<1>a, ω<2>a... Multi-dimensional array Special case of rules for multi-dimensional array of elements of X = X*>: []а = a + 1 Xa = X⁰X·aa X·a = X*-1<1>(X'; 1; a) or []а = a + 1 Xa = X⁰X-1a , X' = 0 Xa = X*-1,aa , X' ≠ 0 , b = 0 Xa = X*-1<1>1>a , X' ≠ 0 , b > 0 or []а = a + 1 Xa = X⁰X-1a , X' = 0 Xa = X·aa , X' ≠ 0 X·a = X*-1,a , b = 0 X·a = X*-1<1>1 , b > 0 Second row One row separator: <1,0> = <1,> = <1<1>> = (1) 1<1,0>a = aa 1<1,0>1a = 1<1,0>1<1,0>a 1<1,0>2a = 1<1,0>1<1,0>1a = 1<1,0>1<1,0>1<1,0>a 1<1,0>1,0a = 1<1,0>aa 1<1,0>1,0,0a = 1<1,0>a,0a 1<1,0>1,0,0,0a = 1<1,0>a,0,0a 2<1,0>a = 1<1,0>1a 3<1,0>a = 2<1,0>1a 1,0<1,0>a = 1<1,1>a = a<1,0>a 1,1<1,0>a = 1,0<1,0>1a = 1<1,1>1a 1,2<1,0>a = 1,1<1,0>1a 1,0,0<1,0>a = 1<1,2>a = a<1,1>a = a,0<1,0>a 1,0,0,0<1,0>a = 1<1,3>a = a<1,2>a = a,0,0<1,0>a 1<1,4>a = a<1,3>a 1<1,5>a = a<1,4>a etc. Plane beyond second row Multiple rows separators: <2,0> = <2,> = <2<1>> = (1)(1) <3,0> = <3,> = <3<1>> = (1)(1)(1) etc. 1<2,0>a = 1<1,0>a = 1<1,a>a 1<2,0>1a = 1<2,0>1<2,0>a 1<1,0>1<1,0>a = 1<1,0><1,0>1a = 1<2,0>1a 1<1,0>2<1,0>a = 1<1,0>1<1,0>1a 1<1,0>3<1,0>a = 1<1,0>2<1,0>1a 1<1,0>1,0<1,0>a = 1<1,0>1<1,1>a = 1<1,0>a<1,0>a 1<1,0>1,1<1,0>a = 1<1,0>1,0<1,0>1a = 1<1,0>1<1,1>1a 1<1,0>1,0,0<1,0>a = 1<1,0>1<1,2>a = 1<1,0>a<1,1>a 2<2,0>a = 1<1,0>1<1,0>a = 1<1,0>1<1,a>a 3<2,0>a = 2<1,0>1<1,a>a 1,0<2,0>a = 1<2,1>a = a<2,0>a 1<2,2>a = a<2,1>a 1<3,0>a = 1<1,0>1<2,0>a = 1<1,0>1<2,a>a 1<4,0>a = 1<1,0>1<3,a>a 1<5,0>a = 1<1,0>1<4,a>a etc. Second plane One plane separator: <1,0,0> = <1,,> = <1<2>> = (2) 1<1,0,0>a = 1a 1<1,0,0>1a = 1<1,0,0>1<1,0,0>a 1<1,0,0>1,0a = 1<1,0,0>aa 1<1,0,0>1,0,0a = 1<1,0,0>a,0a 1<1,0,0>1<1,0>a = 1<1,0,0>1a 1<1,0,0>2<1,0>a = 1<1,0,0>1<1,0>1a 1<1,0,0>1<1,1>a = 1<1,0,0>a<1,0>a 1<1,0,0>1<2,0>a = 1<1,0,0>1<1,a>a 1<1,0,0>1<2,1>a = 1<1,0,0>a<2,0>a 1<1,0,0>1<3,0>a = 1<1,0,0>1<2,a>a 2<1,0,0>a = 1<1,0,0>1a 3<1,0,0>a = 2<1,0,0>1a etc. 3D space beyond second plane Multiple planes separators: <2,0,0> = <2,,> = <2<2>> = (2)(2) <3,0,0> = <3,,> = <3<2>> = (2)(2)(2) etc. 1<2,0,0>a = 1<1,a,0>a 1<2,0,0>1a = 1<2,0,0>1<2,0,0>a 2<2,0,0>a = 1<1,0,0>1<1,a,0>a 1<2,0,1>a = a<2,0,0>a 2<2,0,1>a = 1,a<2,0,0>a 1<2,1,0>a = 1<2,0,a>a 2<2,1,0>a = 1<1,0>1<2,0,a>a 1<3,0,0>a = 1<2,a,0>a 1<4,0,0>a = 1<3,a,0>a 1<5,0,0>a = 1<4,a,0>a 1<6,0,0>a = 1<5,a,0>a etc. Four and more dimensions Separators: <1<3>> = (3) <1<4>> = (4) <1<5>> = (5) etc. 1<1<3>>a = 1<2>>a 1<1<4>>a = 1<3>>a 1<1<5>>a = 1<4>>a etc. Category:Blog posts